package com.zdb.demo.design.pattern.structural.bridge.demo2;

public class Client {
    public static void main(String[] args) {
        // 创建具体的实现对象
        MessageImplementor impl = new MessageSMS();
        // 创建一个普通消息对象
        AbstractMessage msg = new CommonMessage(impl);
        msg.sendMessage("请喝一杯茶", "小李");
        // 创建一个紧急的消息对象
        msg = new UrgencyMessage(impl);
        msg.sendMessage("请喝一杯茶", "小李");
        // 创建一个特急消息对象
        msg = new SpecialUrgencyMessage(impl);
        msg.sendMessage("请喝一杯茶", "小李");

        System.out.println("----------------------------------------");
        // 把实现方式切换成手机短消息，然后再实现一遍
        // 创建具体的实现对象
        impl = new MessageMobile();
        // 创建一个普通消息对象
        msg = new CommonMessage(impl);
        msg.sendMessage("请喝一杯茶", "小李");
        // 创建一个紧急的消息对象
        msg = new UrgencyMessage(impl);
        msg.sendMessage("请喝一杯茶", "小李");
        // 创建一个特急消息对象
        msg = new SpecialUrgencyMessage(impl);
        msg.sendMessage("请喝一杯茶", "小李");
    }
}
